import 'package:get/route_manager.dart';
import 'package:share_fit/app/controllers/device/alarm/alarm_add_view.dart';
import 'package:share_fit/app/controllers/device/alarm/alarm_repeat_view.dart';
import 'package:share_fit/app/controllers/device/alarm/alarm_view.dart';
import 'package:share_fit/app/controllers/device/app_remind/app_remind_view.dart';
import 'package:share_fit/app/controllers/device/bind/device_bind_view.dart';
import 'package:share_fit/app/controllers/device/call_remind/call_remind_view.dart';
import 'package:share_fit/app/controllers/device/camera/remote_camera_view.dart';
import 'package:share_fit/app/controllers/device/contacts/contacts_binding.dart';
import 'package:share_fit/app/controllers/device/contacts/delete_contacts/import_contacts_binding.dart';
import 'package:share_fit/app/controllers/device/contacts/delete_contacts/import_contacts_view.dart';
import 'package:share_fit/app/controllers/device/contacts/import_contacts/import_contacts_binding.dart';
import 'package:share_fit/app/controllers/device/contacts/import_contacts/import_contacts_view.dart';
import 'package:share_fit/app/controllers/device/contacts/contacts_view.dart';
import 'package:share_fit/app/controllers/device/country/country_view.dart';
import 'package:share_fit/app/controllers/device/dail/dial_more.dart';
import 'package:share_fit/app/controllers/device/dail/dial_view.dart';
import 'package:share_fit/app/controllers/device/dnd/dnd_view.dart';
import 'package:share_fit/app/controllers/device/drink_remind/drink_remind_view.dart';
import 'package:share_fit/app/controllers/device/hr/hr_view.dart';
import 'package:share_fit/app/controllers/device/hr/hr_warning/hr_warning_view.dart';
import 'package:share_fit/app/controllers/device/brighten_screen/binding.dart';
import 'package:share_fit/app/controllers/device/brighten_screen/view.dart';
import 'package:share_fit/app/controllers/device/call_remind/call_ringing_view.dart';
import 'package:share_fit/app/controllers/device/find_bracelet/binding.dart';
import 'package:share_fit/app/controllers/device/find_bracelet/view.dart';
import 'package:share_fit/app/controllers/device/language/binding.dart';
import 'package:share_fit/app/controllers/device/language/view.dart';
import 'package:share_fit/app/controllers/device/light/light_view.dart';
import 'package:share_fit/app/controllers/device/measure/measure_view.dart';
import 'package:share_fit/app/controllers/device/menstrual/view.dart';
import 'package:share_fit/app/controllers/device/permission/permission_view.dart';
import 'package:share_fit/app/controllers/device/pressure/pressure_view.dart';
import 'package:share_fit/app/controllers/device/quick_reply/quick_reply_view.dart';
import 'package:share_fit/app/controllers/device/remind/remind_add_view.dart';
import 'package:share_fit/app/controllers/device/remind/remind_view.dart';
import 'package:share_fit/app/controllers/device/restoration/restoration_view.dart';
import 'package:share_fit/app/controllers/device/scan/device_scan_view.dart';
import 'package:share_fit/app/controllers/device/search/device_search_view.dart';
import 'package:share_fit/app/controllers/device/sedentary_remind/sedentary_remind_view.dart';
import 'package:share_fit/app/controllers/device/settings_more/binding.dart';
import 'package:share_fit/app/controllers/device/settings_more/view.dart';
import 'package:share_fit/app/controllers/device/sleep/sleep_setting_view.dart';
import 'package:share_fit/app/controllers/device/sms_remind/sms_remind_view.dart';
import 'package:share_fit/app/controllers/device/sos/select_contacts_view.dart';
import 'package:share_fit/app/controllers/device/sos/settings_sos_add_view.dart';
import 'package:share_fit/app/controllers/device/sos/settings_sos_view.dart';
import 'package:share_fit/app/controllers/device/spo2/spo2_setting_view.dart';
import 'package:share_fit/app/controllers/device/take_pic_setting/binding.dart';
import 'package:share_fit/app/controllers/device/take_pic_setting/view.dart';
import 'package:share_fit/app/controllers/device/time/time_setting_view.dart';
import 'package:share_fit/app/controllers/device/time_slot/time_slot_view.dart';
import 'package:share_fit/app/controllers/device/unbind/device_unbind_view.dart';
import 'package:share_fit/app/controllers/device/upgrade/upgrade_view.dart';
import 'package:share_fit/app/controllers/device/weather/weather_setting_view.dart';
import 'package:share_fit/app/controllers/device/weight/weight_setting_view.dart';

class DeviceRoutes {

  static const String contactsPage = '/device/settings/contacts';
  static const String importContactsPage = '/device/settings/contacts/import';
  static const String deleteContactsPage = '/device/settings/contacts/delete';
  static const String remoteCameraPage = '/device/settings/camera';

  static List<GetPage> getPages() {
    return [
      GetPage(
        name: '/device/scan',
        page: () => DeviceScanPage(),
      ),
      GetPage(
        name: '/device/search',
        page: () => DeviceSearchPage(),
      ),
      GetPage(
        name: '/device/bind',
        page: () => DeviceBindPage(),
      ),
      GetPage(
        name: '/device/unbind',
        page: () => DeviceUnbindPage(),
      ),
      GetPage(
        name: '/device/settings/dial',
        page: () => DialPage(),
      ),
      GetPage(
        name: '/device/settings/dial/more',
        page: () => DialMore(),
      ),
      GetPage(
        name: '/device/settings/hr',
        page: () => HrPage(),
      ),
      GetPage(
        name: '/device/settings/hr_warning',
        page: () => HrWarningPage(),
      ),
      GetPage(
        name: '/device/settings/spo2',
        page: () => Spo2SettingPage(),
      ),
      GetPage(
        name: '/device/settings/sleep',
        page: () => SleepSettingPage(),
      ),
      GetPage(
        name: '/device/settings/weight',
        page: () => WeightSettingPage(),
      ),
      GetPage(
        name: '/device/settings/weather',
        page: () => WeatherSettingPage(),
      ),
      GetPage(
        name: '/device/settings/time_slot',
        page: () => TimeSlotPage(),
      ),
      GetPage(
        name: '/device/settings/time',
        page: () => TimeSettingPage(),
      ),
      GetPage(
        name: '/device/settings/countries',
        page: () => CountryPage(),
      ),
      GetPage(
        name: '/device/settings/permission',
        page: () => PermissionPage(),
      ),
      GetPage(
          name: contactsPage,
          page: () => ContactsPage(),
          binding: ContactsBinding()
      ),
      GetPage(
        name: importContactsPage,
        page: () => ImportContactsPage(),
        binding: ImportContactsBinding()
      ),
      GetPage(
        name: deleteContactsPage,
        page: () => DeleteContactsPage(),
        binding: DeleteContactsBinding()
      ),
      GetPage(
        name: '/device/settings/call_remind',
        page: () => CallRemindPage(),
      ),
      GetPage(
        name: '/device/settings/call_rainging',
        page: () => CallRingingPage(),
      ),
      GetPage(
        name: '/device/settings/sms_remind',
        page: () => SmsRemindPage(),
      ),
      GetPage(
        name: '/device/settings/app_remind',
        page: () => AppRemindPage(),
      ),
      GetPage(
        name: '/device/settings/sedentary_remind',
        page: () => SedentaryRemindPage(),
      ),
      GetPage(
        name: '/device/settings/drink_remind',
        page: () => DrinkRemindPage(),
      ),
      GetPage(
        name: '/device/settings/remind',
        page: () => RemindPage(),
      ),
      GetPage(
        name: '/device/settings/remind/add',
        page: () => RemindAddPage(),
      ),
      GetPage(
        name: '/device/settings/measure',
        page: () => MeasurePage(),
      ),
      GetPage(
        name: '/device/settings/reset',
        page: () => RestorationPage(),
      ),
      GetPage(
        name: '/device/alarm',
        page: () => AlarmPage(),
      ),
      GetPage(
        name: '/device/alarm/add',
        page: () => AlarmAddPage(),
      ),
      GetPage(
        name: '/device/alarm/repeat',
        page: () => AlarmRepeatPage(),
      ),
      GetPage(
        name: '/device/light',
        page: () => LightPage(),
      ),
      GetPage(
        name: '/device/settings/dnd',
        page: () => DndPage(),
      ),
      // 更多设置
      GetPage(
        name: '/device/settings/more',
        page: () => SettingsMorePage(),
        binding: SettingsMoreBinding(),
      ),
      GetPage(
        name: '/device/settings/takepic',
        page: () => TakePicSettingPage(),
        binding: TakePicSettingBinding(),
      ),
      GetPage(
        name: '/device/settings/bracelet/find',
        page: () => FindBraceletPage(),
        binding: FindBraceletBinding(),
      ),
      GetPage(
        name: '/device/settings/brightenScreen',
        page: () => BrightenScreenPage(),
        binding: BrightenScreenBinding(),
      ),
      GetPage(
        name: '/device/settings/language',
        page: () => LanguagePage(),
        binding: LanguageBinding(),
      ),
      GetPage(
        name: '/device/settings/menstrual',
        page: () => MenstrualPage(),
      ),
      GetPage(
        name: '/device/settings/quick_reply',
        page: () => QuickReplyPage(),
      ),
      GetPage(
        name: '/device/settings/sos',
        page: () => SettingsSosPage(),
      ),
      GetPage(
        name: '/device/settings/sos_add',
        page: () => SettingsSosAddPage(),
      ),
      GetPage(
        name: '/device/settings/upgrade',
        page: () => UpgradePage(),
      ),
      GetPage(
        name: '/device/settings/pressure',
        page: () => PressurePage(),
      ),
      GetPage(
        name: '/device/settings/select_contacts',
        page: () => SelectContactsPage(),
      ),
      GetPage(
        name: remoteCameraPage,
        page: () =>RemoteCameraPage(),
      ),
    ];
  }
}
